package Modelo.ObjetosDAO.Interfases;

import java.sql.SQLException;
import java.util.List;

import Modelo.Entidades.ClaseLicencia;
import Modelo.Entidades.Licencia;
import Modelo.Entidades.TipoDocumento;
import Modelo.Entidades.Titular;

public interface ILicenciaDAO {
	
	
	public Licencia buscarLicenciaVigente(String dni, TipoDocumento tipo, ClaseLicencia claseLicencia);
	
	public Licencia emitirLicencia (Licencia licencia) throws Throwable;
	
	public Licencia modificarVigenciaLicencia(Licencia licencia);
	
	//Poner a vencida
	public Licencia ponerVencida(Licencia licencia);
	
	public int cantidadLicencia(String dni, TipoDocumento tipo, ClaseLicencia claseLicencia);
	
	//Debe retornar el costo de la celda correspondiente a la clase y a la vigencia, de la tabla Costo_Vigencia
	public int obtenerCostoLicencia (ClaseLicencia clase,int vigencia);
	
	public List<Licencia> licenciasVigentes(Titular t) throws SQLException;

	List<Licencia> getLicencias(Titular t) throws SQLException;
}
